In complex computing environments (e.g., on-demand services, multitenant), providing of services and managing workloads can be complex. The common and straight forward solution is to assign partitions statically and as the system grows, add partitions to satisfy the growth. For example, in a multitenant environment, tenants may be added to a partition until a predetermined utilization threshold is reached. Subsequent tenants may be added to new partitions. However, this can lead to uneven distribution and overall system inefficiencies.